package w83b.w83bOperacionesInternas.w83bLotesPreavisos;

import w83b.w83bBeans.W83bLotesPreavisosBean;
import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import es.ejie.frmk.negocio.operacioninterna.Q70OperacionInterna;
import es.ejie.frmk.negocio.operacioninterna.Q70OperacionInternaConfigBean;
import es.ejie.frmk.negocio.operacioninterna.Q70OperacionInternaErrors;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bDeshacerAltaLoteOIAction extends Q70OperacionInterna {

	protected void preProcessMappingEntrada(Q70ContextoEJIE contexto, Q70OperacionInternaConfigBean configBean, Q70OperacionInternaErrors errors) throws Exception{

		
		//String sessionTokenXLNET = (String)contexto.get(W83bClsConstantes.XLNETS_APLICATIONSESSIONTOKEN);
		
			W83bUsuarioXLNetsBean usuario = (W83bUsuarioXLNetsBean)contexto.get("w83bUsuarioXLNets");
			usuario.setIdioma((String)contexto.get("w83bCgaIdioma"));
			
		//	String firma = (String)contexto.get("firmaEjgv");//NOPMD
		//	String nombreFichero = (String)contexto.get("nombreFichero");//NOPMD
			W83bLotesPreavisosBean w83bPreavisosNuevoBean = (W83bLotesPreavisosBean)contexto.get("w83bPreavisosNuevoBean");//NOPMD
			/*w83bPreavisosNuevoBean.setFirma(firma);
			w83bPreavisosNuevoBean.setNombreFichero(nombreFichero);
			
			w83bPreavisosNuevoBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
			
			w83bPreavisosNuevoBean.setUsuarioBean(usuario);
			w83bPreavisosNuevoBean.setSessionTokenXLNET(sessionTokenXLNET);
			
			W83bSolicitudPreaviso solicitudPreaviso =  (W83bSolicitudPreaviso) contexto.get("solicitudPreaviso");
			w83bPreavisosNuevoBean.setSolicitudPreaviso(solicitudPreaviso);
			*/
			w83bPreavisosNuevoBean.setUsuarioBean(usuario);
			w83bPreavisosNuevoBean.setCodLote((String)contexto.get("codLote"));
			contexto.set("w83bPreavisosNuevoBean",w83bPreavisosNuevoBean);
			
			
			
			/*Q70ContextoEJIE ctx = (Q70ContextoEJIE) contexto;
			
			String sessionTokenXLNET = (String)ctx.get(W83bClsConstantes.XLNETS_APLICATIONSESSIONTOKEN);
			
			String dniXLNET = (String)ctx.get(W83bConstantes.XLNETS_USUDNI);
			String oidUsuarioXLNET = W83bUsuariosDAO.W83bObtenerOidUsuario(dniXLNET);
			W83bUsuarioDTO usuarioXLNET = W83bUsuariosDAO.W83bBuscarUsuarioOid(oidUsuarioXLNET);
			String nombreDelFichero = (String) ctx.get("nombreDelFicheroPreavisos");
			String territorioUsuarioXLNET = W83bUsuariosDAO.W83bObtenerTerritorioUsuario(dniXLNET);
			String idDocusi = (String) contexto.get("idDokusi");

            String idLote = (String)ctx.get("idLotePreaviso");
            W83bSolicitudPreaviso solicitudPreaviso = null;

            solicitudPreaviso = (W83bSolicitudPreaviso) ctx.get("solicitudPreaviso");
            
			
            W83bInformacionProcedimiento info = (W83bInformacionProcedimiento) contexto.get("info");

            ArrayList listaSindicatos = (ArrayList) W83bUsuariosDAO.W83bBuscaUsuariosNotificacion(territorioUsuarioXLNET);
            

            
            W83bTrazas.depura(" Numero de sindicalistas a Notificar: " +listaSindicatos.size());
            W83bNotificacionesDTO informacionNotificacion= new W83bNotificacionesDTO(dniXLNET, usuarioXLNET.getNombreUsuario(), idDocusi, nombreDelFichero, idLote, sessionTokenXLNET, territorioUsuarioXLNET);
            W83bNotificacionThread tareaNotificar=new W83bNotificacionThread(listaSindicatos,info,solicitudPreaviso,informacionNotificacion,W83bConstantes.IDA);
            tareaNotificar.start();
            

            ctx.set("w83b_nextForward", "ok");
*/
			
		
	}
	
	protected void postProcessMappingSalida(Q70ContextoEJIE contexto, Q70OperacionInternaErrors errors) throws Exception {
			
			/*ServletOutputStream out = response.getOutputStream();
			Blob documento=(Blob)contexto.get("ficheroIda");    
	        
	        InputStream inStream = documento.getBinaryStream();
	        
	        response.setContentType("application/octet-stream");
	        response.setHeader("Content-Disposition","attachment;filename=nombreeeeee");
			
	        byte[] outputByte = new byte[4096];
	        while(inStream.read(outputByte, 0, 4096) != -1){
	        	out.write(outputByte, 0, 4096);
	        }
	        inStream.close();
	        out.flush();
	        out.close();
	*/
			
	}
}